// 定义命名空间，用于组织代码，避免命名冲突
using System;

namespace Wiz.Minio.EventData;

/// <summary>
/// 表示任务状态改变事件的参数类，继承自 EventArgs 类，用于在任务状态发生变化时传递相关信息。
/// </summary>
public class TaskStatusChangedEventArgs: EventArgs
{
    /// <summary>
    /// 获取或设置任务的唯一标识符。
    /// </summary>
    public string TaskId { get; set; }

    /// <summary>
    /// 获取或设置任务的状态。
    /// </summary>
    public DownloadTaskStatus Status { get; set; }

    /// <summary>
    /// 获取或设置任务执行过程中出现的错误信息。如果任务执行成功，该属性可能为空。
    /// </summary>
    public string ErrorMessage { get; set; }
}

/// <summary>
/// 表示任务进度改变事件的参数类，继承自 EventArgs 类，用于在任务进度发生变化时传递相关信息。
/// </summary>
public class TaskProgressChangedEventArgs: EventArgs
{
    /// <summary>
    /// 获取或设置任务的唯一标识符。
    /// </summary>
    public string TaskId { get; set; }

    /// <summary>
    /// 获取或设置任务的进度。  
    /// </summary>
    public int Progress { get; set; }
}